1. Field of the Invention
The present invention relates to networks and more particularly, to a system and method of controlling network traffic data in a full-duplex switched network operating according to Ethernet (IEEE 802.3) protocol.
2. Description of the Related Art
Switched local area networks use a network switch for supplying data frames between network stations or other network nodes, where each network node is connected to the network switch by a media. The switched local area network architecture uses a media access control (MAC) enabling a network interface within each network node and the network switch to access the media. The network switch stores and forwards data frames received from a transmitter node to a destination node based on header information and the data in the received frames, including source and destination address. An external memory, such as an SSRAM, is used by the network switch to temporarily store the data frames as they are passed through the switch. In particular, the network switch stores and fetches data frames in the external memory via an external memory bus.
Transmission and reception of a data frame in a network switch port typically involves receiving a data packet by a MAC, and transferring the received data packet to a first in first out (FIFO) buffer memory. Conversely, transmit data is stored in a (transmit) FIFO buffer memory prior to transmission on the network media by the MAC. When invalid data becomes stored in the transmit buffer, it needs to be eliminated in order to free up this area of the transmit buffer. However, a disadvantage with use of a FIFO memory for the transmit buffer is that there is no convenient way to xe2x80x9cflush,xe2x80x9d invalid data without eliminating the entire contents of the transmit buffer.
Another disadvantage with the use of a FIFO for transmit buffer (or receive buffer) is the increasing complexity associated with maintaining status information for each data frame stored in the FIFO buffer. If a stored data frame is to have corresponding status information, then an additional FIFO buffer would be required for storing the status information for each stored data frame. Moreover, additional synchronization logic would be required to maintain correspondence between the stored frame data and the corresponding status data, increasing the cost and complexity of the network switch.
There is a need, in a multi-port data communication switch, to conveniently and simply bypass or xe2x80x9cflushxe2x80x9d invalid data stored in the transmit FIFO buffer memory without eliminating the entire contents of the transmit buffer memory and without providing an additional FIFO buffer for storing status information for each stored data frame.
These and other needs are obtained by the present invention where a network switch port includes a transmit state machine and receive state machine for transmitting and receiving network data to and from a medium interface, and a memory management unit configured for selectively transferring the network data between the transmit and receive state machines and respective buffers, based on prescribed interface protocol signals between the memory management unit and the transmit state machine and the receive state machine.
According to one aspect of the present invention, a network switch port in a network switch is configured for sending data packets between a medium interface and the network switch. The network switch port includes a transmit buffer for storing transmit data from the network switch, a transmit state machine for transmitting the transmit data onto the medium interface according to a prescribed network protocol, and a memory management unit. The memory management unit is configured for selectively transferring the transmit data to the transmit state machine based on prescribed interface protocol signals between the memory management unit and the transmit state machine. The transmit state machine outputs a flush transmit buffer signal to the transmit memory management unit in response to a detected error in transmitting the transmit data. The transmit memory management unit, in response to the flush transmit buffer signal, sets an incremented transmit buffer read pointer to a value corresponding to a next transmit data stored in the transmit buffer.
Another aspect of the present invention provides a method in a network switch port of transferring transmit data from a network switch to a medium interface. The method includes storing transmit data received from the network switch in a random access transmit buffer, selectively transferring the transmit data from the random access transmit buffer to a transmit state machine based on prescribed interface protocol signals between a transmit memory management unit and the transmit state machine, transmitting the transmit data onto the medium interface by the transmit state machine according to a prescribed network protocol, outputting a flush transmit buffer signal from the transmit state machine to the transmit memory management unit in response to a detected error in transmitting the transmit data, and directing the random access transmit buffer to flush the non-transmitted transmit data in response to the flush transmit buffer signal. Flushing the non-transmitted transmit data includes setting an incremented transmit buffer read pointer to a value corresponding to a next transmit data stored in the random access transmit buffer in response to the flush transmit buffer signal.
Additional advantages and novel features of the invention will be set forth in part in the description which follows, and in part will become apparent to those skilled in the art upon examination of the following or may be learned by practice of the invention. The advantages of the invention may be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims.